﻿using RockBus.DataContracts;
using System;

namespace RockBus.MessageRepository.Interfaces
{
    public class QueueEntry
    {
        public long Id { get; set; }

        public long MessageId { get; set; }

        public DateTime? ExpirationTime { get; set; }

        public Byte StateId { get; set; }

        public RoutingHeader RoutingHeader { get; set; }

        public int Priority { get; set; }

        public bool OrderedDelivery { get; set; }

        public DateTime EnqueueTime { get; set; }

        public string ReceiverMachineName { get; set; }

        public int ReceiverProcessId { get; set; }

        public int ReceiverAppDomainId { get; set; }

        public string MachineName { get; set; }

        public int ProcessId { get; set; }

        public string ProcessorId { get; set; }

        public Guid BatchId { get; set; }

        public DateTime DequeueTime { get; set; }

        public int DequeueAttemptCount { get; set; }

        public int DeliveryAttemptCount { get; set; }

        public bool IsResponse { get; set; }

        public int PartCount { get; set; }

        public int Size { get; set; }

        public string CorrelationId { get; set; }

        public string MessageVersion { get; set; }

        public string Action { get; set; }

        public DateTime ReceiveTime { get; set; }

        public string ReceiveAddress { get; set; }

        public DateTime CreateTime { get; set; }
    }
}